Abstract Interpretation using a Language of Symbolic Approximation

نویسندگان

  • Matthieu Lemerre
  • Sébastien Bardin
چکیده

The traditional abstract domain framework for imperative programs suffers from several shortcomings; in particular it does not allow precise symbolic abstractions. To solve these problems, we propose a new abstract interpretation framework, based on symbolic expressions used both as an abstraction of the program, and as the input analyzed by abstract domains. We demonstrate new applications of the framework: an abstract domain that efficiently propagates constraints across the whole program; a new formalization of functor domains as approximate translation, which allows the production of approximate programs, on which we can perform classical symbolic techniques. We used these to build a complete analyzer for embedded C programs, that demonstrates the practical applicability of the framework.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Logical approximation for program analysis

The abstract interpretation of programs relates the exact semantics of a programming language to a finite approximation of those semantics. In this article, we describe an approach to abstract interpretation that is based in logic and logic programming. Our approach consists of faithfully representing a transition system within logic and then manipulating this initial specification to create a ...

متن کامل

Abstract Interpretation of Symbolic Execution with Explicit State Updates

Interpretation of Symbolic Execution with Explicit State Updates Richard Bubel, Reiner Hähnle, and Benjamin Weiß 1 Department of Computer Science and Engineering, Chalmers University of Technology and Göteborg University {bubel,reiner}@chalmers.se 2 Institute for Theoretical Computer Science, University of Karlsruhe [email protected] Abstract. Systems for deductive software verification model t...

متن کامل

Bilateral Algorithms for Symbolic Abstraction

Given a concrete domain C, a concrete operation τ : C → C, and an abstract domain A, a fundamental problem in abstract interpretation is to find the best abstract transformer τ : A → A that overapproximates τ . This problem, as well as several other operations needed by an abstract interpreter, can be reduced to the problem of symbolic abstraction: the symbolic abstraction of a formula φ in log...

متن کامل

Research Statement pdfauthor=Stefan Bucur

Interpretation from Concrete Semantics. Static analysis, and type inference in particular, is helpful for finding programming errors in dynamic languages, as they commonly lack the type information available to compiled languages. However, static analysis engines are implemented by hand, hence sharing the challenges of building a symbolic execution engine. To this end, I want to take the “inter...

متن کامل

Symbolic Implementation of the Best Transformer

This paper shows how to achieve, under certain conditions, abstract-interpretation algorithms that enjoy the best possible precision for a given abstraction. The key idea is a simple process of successive approximation that makes repeated calls to a theorem prover, and obtains the best abstract value for a set of concrete stores that are represented symbolically, using a logical formula.

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • CoRR

دوره abs/1712.10058  شماره 

صفحات  -

تاریخ انتشار 2017